#include <iostream>
#include <sys/eventfd.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/types.h>
using namespace std;
// eventfd函数调用可以创建一个用于事件通知的文件描述符
// 可以用于事件的等待操作
// 必须得写入一个8bit的数据
int main()
{
    uint64_t a = 1;
    int fd = eventfd(0, 0);
    for (int i = 0; i < 3; ++i)
        ssize_t n = write(fd, &a, sizeof a);
    uint64_t res = 0;
    ssize_t n = read(fd, &res, sizeof res);
    cout << res << endl;
    for (int i = 0; i < 5; ++i)
        write(fd, &a, sizeof a);
    n = read(fd, &res, sizeof res);
    cout << res << endl;
    return 0;
}